Electronic unit provided in a microcircuit card and including cryptographic means for high-speed data processing

ABSTRACT

The invention concerns an electronic unit comprising a processor (P), input-output means ( 18 ) and cryptographic means ( 14 ), characterized in that it is directly connected by two-way data transmission ( 20 ) set up between said input-output means and said cryptographic means, the electronic unit being integrated in a microcircuit card.

The invention relates to an electronic unit comprising a processor, data input-output means, and cryptographic means; it relates more particularly to a new arrangement of these subsystems that speeds up the cryptographic processing of certain data.

One prior art electronic unit incorporating cryptographic means is based on a processor associated with different memories (RAM, ROM and EEPROM, for example) and connected to input-output means. The processor is connected to the cryptographic means via a memory register. The cryptographic means generally comprise electronic circuits dedicated to cryptographic calculations and specifically designed to carry out those calculations very quickly. The operations carried out are, for example, encryption and decryption operations using a DES protocol. In the field of microcircuit cards, there exist very light cryptographic units containing of the order of 5 000 logic gates capable of carrying out DES calculations in just 16 clock pulses. By comparison, copying 8 bytes into a register necessitates 48 clock pulses (8 bytes is the length of a word in DES encryption). The input-output means comprise a UART interface, for example, exchanging information with devices external to said electronic unit in accordance with the ISO7816 or Universal Serial Bus (USB) protocol. The UART interface comprises a register. Prior art cryptographic means (usually referred to as a cryptographic calculation unit) are connected directly to the processor, which manages all aspects of the transfer of the data to be encrypted or decrypted to the cryptographic means, the execution of the encrypting/decrypting operations, and the sending of the results back to the input-output means. Clearly this mode of operation, which monopolizes the processor in each step, is relatively slow and involves a relatively high consumption of energy. The invention overcomes these drawbacks.

The invention relates more particularly to an electronic unit comprising a processor, data input-output means and cryptographic means, characterized by a direct bidirectional data transmission connection set up between said input-output means and said cryptographic means, said electronic unit being provided in a microcircuit card.

It also relates to a microcircuit card including this kind of electronic unit.

To provide the direct connection, the input-output means and the cryptographic means may share a common memory space. This may be the memory register conventionally associated with the cryptographic means.

The input-output means advantageously comprise a send-receive unit, for example a UART, and a direct connection is set up between said send-receive unit and the memory register of the cryptographic means.

In one embodiment, the send-receive unit includes means for routing data to said cryptographic means. In other words, in a simple manner that will be evident to the person skilled in the art the UART may be complemented by “routing means” for sending the data to the memory register and then to the cryptographic calculation unit, once the information has been identified as relating to cryptographic processing, the input-output means also including means for identifying such information.

On the other hand, if the UART send-receive unit is not designed to drive the cryptographic means directly, the processor, which is connected to the cryptographic means, may be programmed to set up said direct connection in response to a message sent by said input-output means. In this case, the role of the processor is limited to identifying the appearance of a series of data to which cryptographic processing relates and setting up said direct connection so that the information is routed directly to the cryptographic means and sent back to the input-output means after processing.

According to other preferred features of the invention, which may where applicable be combined:

-   -   the processor comprises means for sending keys to the         cryptographic means, selecting an encryption or decryption mode         of operation, and sending an instruction for initiating         cryptographic processing;     -   it comprises two input-output means;     -   it includes means for processing a digital data stream;     -   the processing means are adapted to effect encryption or         decryption processing.

The invention will be better understood and other advantages will become more clearly apparent in the light of the following description of a plurality of embodiments of an electronic unit conforming to the principle of the invention, provided by way of example only and given with reference to the appended drawings, in which:

FIG. 1 is a block diagram of a prior art electronic unit;

FIG. 2 is a block diagram analogous to FIG. 1 showing one embodiment of an electronic unit according to the invention;

FIG. 3 shows a variant of the electronic unit conforming to the invention;

FIG. 4 is diagram showing input data and output data for one embodiment of the invention; and

FIG. 5 is a diagram showing input data and output data for another embodiment of the invention.

The prior art electronic unit 11 shown in FIG. 1 consists mainly of a processor P that is associated in the conventional way with a certain number o-f memories (RAM, ROM, EEPROM), cryptographic means 14 comprising a cryptographic calculation unit 15 and a memory register 16, and input-output means 18 connected to a network, for example. The input-output means 18, enabling the electronic unit to communicate with a network or an external electronic entity, essentially comprise an asynchronous send-receive unit known as a UART. The cryptographic means 14 are also connected to the processor via the memory register 16. The other memories connected to the processor are conventional. There are, for example, a random access memory RAM, a read only memory ROM, and a non-volatile memory EEPROM.

When the electronic unit receives via the UART data that must be subjected to cryptographic processing (encryption, decryption, etc.), the UART sends an interrupt message to the processor P which then reads the register of the UART and copies the data into RAM. The processor then initializes the cryptographic means, in particular supplying the necessary keys to the cryptographic unit 15. The processor P then reads the data to be processed in the RAM and copies it into the register 16, after which it initiates the calculation by the cryptographic unit. In order to be communicated to the external network, the result calculated by the cryptographic unit is then read in the register 16 and copied into the UART register by the processor P. The results are rewritten into the register 16, read by the processor, and sent to the network via the UART.

This mode of operation is not suitable for cryptographic processing by the electronic unit at high data bit rates. The operation carried out by the processor P of copying the data into an intermediate RAM area before processing by the cryptographic unit represents a particular burden. Now, the requirement is to increase the cryptographic calculation capability of an electronic unit of this kind in order to be able to process large and continuous data streams in real time.

For example, it is now required to decrypt in real time digital data representative of sound. Such data is compressed according to the MP3 standard and transmitted at a bit rate of 128 kbit/s. The electronic unit for decrypting the data in real time must therefore be able to absorb and process information at a high bit rate. Furthermore, because the electronic unit described hereinafter may advantageously be accommodated inside a microcircuit card, this kind of cryptographic processing is made more secure by virtue of the simple fact that the decryption key(s) never leave the card.

To this end, a direct bidirectional data transmission connection is set up between the input-output means (i.e. typically the UART send-receive unit) and the cryptographic means. The arrangement depicted in FIG. 2 may be used, for example.

The UART send-receive unit is connected to the processor which is conventionally associated with various memories (RAM, ROM, EEPROM), as in FIG. 1. Moreover, and as previously, the electronic unit comprises cryptographic means 14 including a cryptographic calculation unit 15 associated with a memory register 16. The processor is connected to the cryptographic means via the memory register. However, a direct bidirectional data transmission connection 20 is also set up between the UART input-output means and the cryptographic means, in this example the same memory register 16.

The send-receive unit ideally comprises means for routing data to the cryptographic means. In other words, this unit is adapted to analyze information sent by the external network and recognize information to be subjected to cryptographic processing. Once this recognition has been effected, the input-output means route the information directly to the memory register 16 of the cryptographic means. The processor sends the keys to the cryptographic means, defines the mode of operation (for example encryption or decryption, with or without chaining) and sends an instruction for initiating the cryptographic processing. During this time, i.e. after launching the cryptographic processing, the processor is no longer operative in the cryptographic process or even in the transfer of the results to the exterior; this reduces power consumption. Security is also enhanced since the information is no longer stored in the memory connected to the processor.

In other words, this send-receive unit comprises means for setting up a direct connection with the cryptographic means.

Those means are rudimentary, with little intelligence, since a smart card is used and the components must therefore be relatively simple and of moderate cost. Thus above all there is no question of using a command interpreter. The UART is not capable of interpreting commands received via the I/O port.

If the UART send-receive unit is not designed to detect for itself a sequence to which the cryptographic processing applies, that function may be handled by the processor P without excessive loss of time. For example, the first packet of a message intended to undergo cryptographic processing could describe the content of subsequent packets. In this case, on receiving this first packet, the processor is able to command “routing”, i.e. setting up the direct bidirectional data transmission connection 20 between the input-output means and the cryptographic means for the time necessary to receive and/or send back the information processed by the cryptographic means. The microprocessor P decides to set up this direct connection in order to optimize the processing speed for processing a large data stream.

In the FIG. 3 device, in which subsystems analogous to those of FIG. 1 carry the same reference numbers, information concerning cryptography is separated from other data. The input-output means 18HD connected to a high bit rate port are this time exclusively and directly connected to the cryptographic means (by the direct connection 20); the other information is sent to other input-output means 22 and reaches the processor via another send-receive unit, for example a UART. Thus the processor is able to communicate with a server in parallel via a “standard” port, the cryptographic data being sent via a high bit rate port, for example a USB port. Thus no routing is necessary.

FIGS. 4 and 5 are diagrams depicting data formats that may be processed in accordance with the invention.

Thus in FIG. 4 the input receives an encrypted data packet (2048 bits) preceded by a keyword 1 and followed by a keyword 2 and a decrypted data packet (2048 bits) is obtained at the output.

By means of security mechanisms (for example authentication of the sender and where applicable exchange of keys), the processor authorizes decryption of the next data packet received. The processor sends the decryption key to the cryptographic calculation unit 15 and sends the instruction for initiating the processing. The processor also sends a message directly to the UART in order for the latter to route the data packets directly to the cryptographic calculation unit 15 when it recognizes the keyword 1 and to stop sending data to the cryptographic calculation unit 15 when it recognizes the keyword 2. The cryptographic calculation unit 15 then decrypts the data packet. The result of the calculation is then communicated directly to the exterior of the card by the UART.

In FIG. 5, encrypted and decrypted data packets are present at the input and the output, respectively.

By means of security mechanisms (for example authentication of the sender and where applicable exchange of keys), the processor authorizes decrypting of the next data packet received, and knows in advance that this will occupy 2048 bits. The processor sends the decryption key to the cryptographic calculation unit 15 and sends the instruction for initiating the processing. The processor also sends a message to the UART so that the latter routes the next 2048 data bits received directly to the cryptographic calculation unit 15 and sends the 2048 bits of the result of the cryptographic processing from the output of the cryptographic calculation unit 15 to the exterior of the card and then routes the data at the input of the UART directly to the processor again. 

1. Electronic unit comprising a processor, data input-output means (18) and cryptographic means (14), characterized by a direct bidirectional data transmission connection (20) set up between said input-output means and said cryptographic means, said electronic unit being provided in a microcircuit card.
 2. Electronic unit according to claim 1, characterized in that said input-output means and said cryptographic means share a common memory space (16).
 3. Electronic unit according to claim 2, characterized in that said input-output means (18) comprise a UART send-receive unit, said cryptographic means comprise a memory register (16), and said direct connection (20) is set up between said send-receive unit and said memory register constituting the common memory space previously cited.
 4. Electronic unit according to claim 3, characterized in that said send-receive unit (18, 18HD) comprises means for routing data to said cryptographic means.
 5. Electronic unit according to claim 3, characterized in that said processor P is connected to said cryptographic means to set up said direct connection (20) in response to a message sent by said input-output means.
 6. Electronic unit according to claim 1, characterized in that said input-output means (18 HD) are dedicated to certain information intended to be processed by said cryptographic means, other input-output means (22) being connected to said processor for processing other information.
 7. Electronic unit according to claim 1, characterized in that it constitutes means for decrypting encrypted data in real time.
 8. Electronic unit according to claim 1, characterized in that the processor comprises means for sending keys to the cryptographic means, selecting an encryption or decryption mode of operation, and sending an instruction for initiating cryptographic processing.
 9. Electronic unit according to claim 1, characterized in that it comprises two input-output means.
 10. Electronic unit according to claim 1, characterized in that it includes means for processing a digital data stream.
 11. Electronic unit according to claim 10, characterized in that the processing means are adapted to effect encryption or decryption processing. 